package com.enjoyor.soa.traffic.api.dto.gps;

/**
 * 
<table border=1 cellspacing=0 cellpadding=0>
	<tr><td>设备		</td><td>9	</td><td>设备报警</td></tr>
	<tr><td>		</td><td>	</td><td></td></tr>
	<tr><td>禁区		</td><td>1	</td><td>进入禁区</td></tr>
	<tr><td>围栏		</td><td>2	</td><td>围栏出界</td></tr>
	<tr><td>通行证	</td><td>3	</td><td>未在通行证许可的时间内通行</td></tr>
	<tr><td>		</td><td>	</td><td></td></tr>
	<tr><td rowspan=2>超速	</td><td>12	</td><td>围栏内超速</td></tr>
	<tr>			<td>13	</td><td>通行证的超速</td></tr>
	<tr><td>		</td><td>	</td><td></td></tr>
	<tr><td rowspan=2>低速	</td><td>22	</td><td>围栏内低速</td></tr>
	<tr>				<td>23	</td><td>通行证的低速</td></tr>
</table>
 *
 */
public enum AlarmTypeEnum {
	/**
	 * 设备报警
	 */
	DEV_ALARM("设备报警", 9),
	/**
	 * 进入禁区
	 */
	TRANS_ALARM_FORBIDDEN_IN("进入禁区", 1),
	/**
	 * 围栏出界
	 */
	TRANS_ALARM_FENCE_OUT("围栏出界", 2),
	/**
	 * 围栏内超速
	 */
	TRANS_ALARM_FENCE_SPEED("围栏内超速",12),
	/**
	 * 围栏内低速
	 */
	TRANS_ALARM_FENCE_LOW_SPEED("围栏内低速",22),
	/**
	 * 未在通行证许可的时间内通行
	 */
	TRANS_ALARM_PASS_TIME("未在通行证许可的时间内通行",3),
	/**
	 * 通行证范围内超速
	 */
	TRANS_ALARM_PASS_SPEED("通行证范围内超速",13),
	/**
	 * 通行证范围内超速
	 */
	TRANS_ALARM_PASS_LOW_SPEED("通行证范围内低速",23);

	private String name;
	private Integer code;

	private AlarmTypeEnum(String name, Integer code) {
		this.name=name;
		this.code=code;
	}

	public static String getName(Integer code) {
		for (AlarmTypeEnum l : AlarmTypeEnum.values()) {
			if (l.code == code) {
				return l.name;
			}
		}
		return null;
	}

	public static AlarmTypeEnum getEnum(Integer code) {
		for (AlarmTypeEnum l : AlarmTypeEnum.values()) {
			if (l.code == code) {
				return l;
			}
		}
		return null;
	}
	
	public String getName() {
		return name;
	}

	public Integer getCode() {
		return code;
	}
}
